package framework.classification.entities.lattice;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Vector;

import com.googlecode.erca.clf.ConceptLattice;
import com.googlecode.erca.rcf.FormalContext;



import framework.classification.entities.ClAbstractEntity;
import framework.entity.ACLEntity;


public interface TreillisI {
	
	
	public static String LATTICE = "LATTICE";
	public static String GSH = "GSH";

	
	
    public void computeTableRelation(ClAbstractEntity table);

    public void computeLattice(ClAbstractEntity table,String latticeGeneration);

    public void calculateReduced(ClAbstractEntity table);

    public HashMap<String, String> getAbstractReduced(ClAbstractEntity table);

    public HashMap<String, String> getRealReduced(ClAbstractEntity table);

    public HashMap<String,ArrayList<String>> getConceptToReduced(ClAbstractEntity table);

    public ArrayList<String> getChildrenConcept(ClAbstractEntity table,
	    String element);

    public ArrayList<String> getParentConcept(ClAbstractEntity table,
	    String element);

    public Boolean isParentConcept(String c1, String c2);
    
    public Boolean isParent(String  n1,String n2);

     public String getMaxSuperEntity();
     
    // en attendant
    public ConceptLattice getConceptLattice();
    
    public FormalContext getFormalContext();
    
   
}
